package com.zhongwang.business.module.baseCostManage.dao;
import com.zhongwang.business.module.baseCostManage.model.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface InputImportCostDao {
    /**
     * 查询机加工时表
     * @param inputMachiningModel
     * @return InputMachiningModel
     */
    List<InputMachiningModel> selectMachiningHour(InputMachiningModel inputMachiningModel);
    /**
     * 查询机加设备型号视图
     * @return VwEquModel
     */
    List<VwEquModel> selectVwEqu();
    /**
     * 查询机加工时数据是否重复
     * @param inputMachiningModel
     * @return InputMachiningModel
     */
    int selectRepetition(InputMachiningModel inputMachiningModel);

    /**
     * 添加机加工时数据
     * @param data inputMachiningModel
     */
    void insert(InputMachiningModel data);

    /**
     * 查询外购、外协、原料计划表
     * @return InputOutsourcingModel
     */
    List<InputOutsourcingModel> selectOutsourcingPlan(InputOutsourcingModel inputOutsourcingModel);
    /**
     * 查询外购件数据是否重复
     * @param data
     * @return InputOutsourcingModel
     */
    int selectOutsourcingRepetition(InputOutsourcingModel data);
    /**
     * 添加外购计划数据
     * @param data inputOutsourcingModel
     */
    void insertOutsourcing(InputOutsourcingModel data);


    List<InputRolledSteelPlanModel> selectRolledSteelPlan(InputRolledSteelPlanModel inputRolledSteelPlanModel);
    /**
     * 查询原材料数据是否重复
     * @param data
     * @return InputRolledSteelPlanModel
     */
    int selectRolledSteelPlanRepetition(InputRolledSteelPlanModel data);
    /**
     * 导入原材料计划数据
     * @param data
     * @return InputRolledSteelPlanModel
     */
    void insertRolledSteelPlan(InputRolledSteelPlanModel data);
    /**
     * 查询外协列表
     * @param inputExtProPlanModel
     * @return InputExtProPlanModel
     */
    List<InputExtProPlanModel> selectInputExtProPlan(InputExtProPlanModel inputExtProPlanModel);
    /**
     * 查询外协数据是否重复
     * @param data
     * @return InputExtProPlanModel
     */
    int selectExtProPlanRepetition(InputExtProPlanModel data);
    /**
     * 导入原材料计划数据
     * @param data
     * @return InputExtProPlanModel
     */
    void insertExtProPlan(InputExtProPlanModel data);
    /**
     * 清空机加工时数据
     * @param inputMachiningModel
     * @return InputExtProPlanModel
     */
    int deleteManchining(InputMachiningModel inputMachiningModel);

    /**
     * 机加数据删除逻辑验证辅助查询1
     * @param inputMachiningModel
     * @return
     */
    List<InputMachiningModel> select1(InputMachiningModel inputMachiningModel);

    /**
     * 机加数据删除逻辑验证辅助查询2
     * @param inputMachiningModel
     * @return
     */
    List<InputMachiningModel> select2(InputMachiningModel inputMachiningModel);

    /**
     * 外购件数据删除逻辑验证辅助查询1
     * @param inputOutsourcingModel
     * @return
     */
    List<InputOutsourcingModel> selectOut1(InputOutsourcingModel inputOutsourcingModel);
    /**
     * 外购件数据删除逻辑验证辅助查询2
     * @param inputOutsourcingModel
     * @return
     */
    List<InputOutsourcingModel> selectOut2(InputOutsourcingModel inputOutsourcingModel);

    /**
     * 按条件清空外购件计划数据
     * @param inputOutsourcingModel
     * @return
     */
    int deleteOutsourcing(InputOutsourcingModel inputOutsourcingModel);
    /**
     * 按条件清空原材料计划数据
     * @param inputRolledSteelPlanModel
     * @return
     */
    int deleteRolled(InputRolledSteelPlanModel inputRolledSteelPlanModel);
    /**
     * 原材料数据删除逻辑验证辅助查询1
     * @param inputRolledSteelPlanModel
     * @return
     */
    List<InputRolledSteelPlanModel> selectRolled1(InputRolledSteelPlanModel inputRolledSteelPlanModel);
    /**
     * 原材料数据删除逻辑验证辅助查询2
     * @param inputRolledSteelPlanModel
     * @return
     */
    List<InputRolledSteelPlanModel> selectRolled2(InputRolledSteelPlanModel inputRolledSteelPlanModel);
    /**
     * 外协数据删除逻辑验证辅助查询1
     * @param inputExtProPlanModel
     * @return
     */
    List<InputExtProPlanModel> selectExtPro1(InputExtProPlanModel inputExtProPlanModel);
    /**
     * 外协数据删除逻辑验证辅助查询2
     * @param inputExtProPlanModel
     * @return
     */
    List<InputExtProPlanModel> selectExtPro2(InputExtProPlanModel inputExtProPlanModel);
    /**
     * 按条件清空外协计划数据
     * @param inputExtProPlanModel
     * @return
     */
    int deleteExtPro(InputExtProPlanModel inputExtProPlanModel);
    /**
     * 查询原料、外协视图
     * @return DictCommonModel
     */
    List<DictCommonModel> selectDictCommon();
}